Computing systems typically have numerous color devices (i.e., devices that display or produce color) such as, for example, printers, scanners, cameras, and displays. Frequently, it is desirable to perform characterization and/or calibration testing on the color devices in order to measure the performance and/or adjust the color device to perform in a certain manner. For example, a characterization test may be conducted in order to measure the current performance of the color device (e.g., test a display to determine a truest blue the display can produce). In another example, a calibration test may be conducted in order to adjust the parameters of a display in order to produce a desired output.
Computing systems often employ a calibration tool (i.e., a calibration module), such as a software program or daemon, configured to perform the characterization and/or calibration testing on the color devices (herein collectively referred to as a “calibration event”). In order for the calibration tool to properly conduct the desired calibration event, any existing color or characterization profile applied to the color device is typically removed. For example, when a display is calibrated, all display compensation profiles are removed from the display so that the calibration module can test the display in its native state (i.e., with no profiles applied).
Conventional computing systems usually lack a framework to manage profile settings in conjunction with a calibration event. In some instances, users are forced to manually delete manufacturer installed profiles from the computing system prior to the calibration event, and then manually re-install those profiles after calibration.
Furthermore, without a framework, a problem may occur when the calibration tool experiences a termination event such as for example, a forced quit, crash, unexpected exit, a reload, or the successful completion of the calibration event. In such cases, following the termination event, the color device that underwent the calibration event typically remains in the native (or default) state, without any profile.
An additional problem exists with conventional calibration systems in that calibration events that are interrupted and do not complete typically leave a color device in a partially calibrated state. Disadvantageously, the partially calibrated state may appear to the naked eye to be fully calibrated, when in fact the calibration event was not completed. This is particularly problematic for users, such as computer graphic artists, who usually require a very high level of precision and accuracy in the output of their color devices. For example, a graphics artist may be unaware that a calibration event was terminated when the color device was only 95% calibrated. Moreover, the artist may not be able to visually detect that the calibration was not completed, and would proceed under the false impression that the color device had been 100% calibrated.